Generally, in recording and reproducing data into and from a recording material such as a magnetic disk a data error may arise dependent on the state of the recording material. A data error may be a burst error caused by a signal drop out .[.on.]. .Iadd.or .Iaddend.a random error caused by a deterioration in SN ratio. In order to correct these errors a two stage coded error correction code is used. As an example, a two stage code using RS codes on a GF .[.(2.sup.8).]. (.Iadd.2.sup.q) .Iaddend.where q=8 will be considered. A two stage encoder is shown in FIG. 3. In FIG. 3, reference numeral 1 designates an input terminal, reference numeral 2 designates a C.sub.2 encoder, reference numeral 3 designates an interleaving circuit, reference numeral 4 designates a C.sub.1 encoder, the reference numeral 5 designates an output terminal. First of all, C.sub.2 encoding is performed on the original data, interleaving is executed thereto, and thereafter C.sub.1 encoding is conducted, and the resulting code signal is output to the output terminal. A two stage decoder is shown in FIG. 4. In FIG. 4, reference numeral 6 designates an input terminal, reference numeral 7 designates a C.sub.1 decoder, reference numeral 8 designates a deinterleaving circuit, reference numeral 9 designates a C.sub.2 decoder, and reference numeral 10 designates an output terminal. In this decoder deinterleaving is executed after the C.sub.1 decoding, and thereafter C.sub.2 decoding is conducted. There is a prior art two stage coding method which, assuming that data obtained by arranging .[.k.sub.1 .times.9.]. .Iadd.k.sub.1 .times.q .Iaddend.digits in a first direction and k.sub.2 digits (k.sub.1 &lt;k.sub.2) in a second direction as shown in FIG. 5 is arranged into 8 .[.data.]. .Iadd.digit .Iaddend.words in the first direction, consists of adding a first check code of n.sub.2 -k.sub.1 digits, and thereafter adding a second check code of n.sub.1 -n.sub.2 digits as shown in FIG. 2, (n.sub.2, k.sub.1) RS code is used as the C.sub.2 code, and (n.sub.1, n.sub.2) RS code is used as the C.sub.1 code.
A specific coding example will be described with reference to FIGS. 5 and 2. When it is established that k.sub.1 =32, k.sub.2 =128, n.sub.1 =40, n.sub.2 =36, and h.sub.1 =h.sub.2 = . . . =h.sub.35 =h=3, the data region comprising the data and the first check code becomes data of n.sub.2 .times.k.sub.2 =4608 digits as shown in FIG. 5, and when a.sub.1 is set to 1, a.sub.2 to a.sub.36 become as follows: ##EQU1## and C.sub.2 encoding is conducted on the data corresponding to the a.sub.1 -th, a.sub.2 -th, . . . , a.sub.32 -th data .Iadd.selected .Iaddend.with use of the following generation polynomial of C.sub.2 code ##EQU2## where .alpha. is a root of a primary polynomial (for example, such as x.sup.8 +x.sup.4 +x.sup.3 +x.sup.2 +1 on GF (2.sup.8)). The generated check codes are arranged at the positions corresponding to the a.sub.33 -th, a.sub.34 -th, . . . , a.sub.36 -th data. Next, a.sub.1 is set as follows: EQU a.sub.1 =a.sub.1 +n.sub.2 =a.sub.1 +36,
and similarly check codes are added to the data successively. Herein, if the calculated result of a.sub.2 to a.sub.36 exceeds n.sub.2 .times.k.sub.2 =4608, a number obtained by subtracting 4608 therefrom is made the result. The encoding is repeated k.sub.2 times thereby to conclude the C.sub.2 encoding.
Next, C.sub.1 encoding is conducted on the data of n.sub.2 digits in each column arranged in the first direction as shown in FIG. 2 with the use of the following generation polynomial of C.sub.1 code ##EQU3## The generated check code is added to the end portion of the data and the encoding is repeated k.sub.2 times. In the recording of the data onto the recording material data of n.sub.1 =40 digits arranged in the first direction is sent out k.sub.2 times successively. In the reproduction of the same the sent out data are arranged in a column in the first direction by 40 digits successively.
In the prior art two stage coding method with such a construction, the C.sub.2 code is concerned with burst error correction ability, and the C.sub.1 and C.sub.2 codes are concerned with random error correction ability. In the stage of conducting C.sub.2 encoding the h must be made large in order to enhance the burst error correction ability, and h is set as follows: EQU h=[k.sub.2 /n.sub.2 ]=[128/36]=3
.Iadd.where [A] denotes an integer which does not exceed A .Iaddend.The C.sub.2 codes are gathered at the right end portion of the data region in FIG. 5, and the C.sub.2 and the C.sub.1 code are arranged adjacent to each other in the first direction subsequent to the data of k.sub.1 =32 digits when the C.sub.1 encoding is completed.
The prior art two stage coding method is constructed in such a manner, and the error correction ability by one code amounts to n.sub.2 -k.sub.1 digits when forfeiture correction is conducted by the C.sub.2 decoding. Accordingly, the burst error correction ability becomes as follows for data of n.sub.2 .times.k.sub.2 =4608 digits comprising all the data and the C.sub.2 code EQU (n.sub.2 -k.sub.1).times.n.sub.2 .times.h=432,
but h becomes as follows: EQU h=[k.sub.2 /n.sub.2 ]=[128/36]=3&lt;128/36,
and k.sub.2 /n.sub.2 does not equal an integer, thereby resulting in deterioration of error correction capability.